// 上面这个代码处理过度动画（默认加上不用管）
document.addEventListener('DOMContentLoaded', () => {
  setTimeout(() => {
    document.body.classList.add('sidenav-pinned')
    document.body.classList.add('ready')
  }, 200)
})

// 创建bootstrap弹窗
let toastBox = document.querySelector('#myToast')
const toast = new bootstrap.Toast(toastBox, {
  animate: true,
  autohide: true,
  delay: 1000
})

// 注册时用户账号密码输入不合法提示
const  show=msg=>{
  document.querySelector(".toast-body").innerHTML=msg
      toast.show()
 }
// 设置请求拦截器
axios.interceptors.request.use(function(config){
  // 获取存储在本地存储器的token信息
  const token=localStorage.getItem("cms-token")
  // 判断如果有token证明该接口需要用到放在headers中的Authorization参数,所以我们要为所有有token的接口添加
  if(token){
    config.headers.Authorization=token
  }
  return config
},function(error){
  return Promise.reject(error)
})


// 添加响应拦截器
/*
  服务器响应数据 成功 走第一个回调函数
  成功 可以将数据 脱壳 登录和注册的 成功的响应都需要修改

  服务器响应数据 失败 走第二个回调函数
  token 过期  在想要获取数据 同样的会报 401 模拟 token 过期 找到 本地存储 修改 token 的值 401 的错误 
  判断 响应状态码的值是不是401
  解决方案：
  1. 需要跳转登录页面让用户重新登录
  2. 清空本地存储里面的数据 

*/
axios.interceptors.response.use(function (response) {
  // console.log(response.data) 
  // response 其实就是 axios().then() 里面的回调函数 
  // 对响应数据做点什么
  return response.data
}, function (error) {
  // console.dir(error.response.status)
  if (error.response.status === 401) {
    location.href = './login.html'
    localStorage.clear()
  }
  // 对响应错误做点什么
  return Promise.reject(error);
})


//配置基地址
 axios.defaults.baseURL="http://ajax-api.itheima.net"